package com.xjrsoft.module.customerTwo.ycode.t_ycode_product.vo;

import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import com.xjrsoft.common.Enum.TransDataType;
import com.xjrsoft.common.annotation.DataTrans;
import io.swagger.annotations.ApiModel;

/**
 * 视图实体类
 *
 * @author dongxinhang
 * @since 2024-07-22
 */
@Data
@ApiModel(value = "列表TYcodeProductVo对象", description = "列表TYcodeProductVo对象")
public class TYcodeProductListVo {

    @JsonProperty("id")
    private String id;

    @JsonProperty("class_id")
    @DataTrans(dataType = TransDataType.DATA_SOURCE, dataCode = "0515cced433fc08af78e29cc18e55f2d", savedField = "id", showField = "name", multi = false)
    private String classId;

    @JsonProperty("class_complete_code")
    private String classCompleteCode;

    @JsonProperty("class_name")
    private String className;

    @JsonProperty("name")
    private String name;

    @JsonProperty("specifications")
    private String specifications;

    @JsonProperty("unit")
    private String unit;

    @JsonProperty("status")
    @DataTrans(dataType = TransDataType.DATA_ITEM, dataCode = "ycode_product_status", multi = false)
    private String status;

    @JsonProperty("open_to_product_factory")
    private Integer openToProductFactory;

    @JsonProperty("open_to_accessories_factory")
    private Integer openToAccessoriesFactory;

    @JsonProperty("open_to_traders")
    private Integer openToTraders;
    /**
     * 企业ID xjr_base_user表F_MerchantId
     */
    @TableField("merchant_id")
    private String merchantId;
    /**
     * 创建人
     */
    @TableField("user_id")
    private String userId;
    /**
     * 企业名称
     */
    @TableField("firm_name")
    private String firmName;

    /**
     * 产品云码 根据规则生成 提交时自动生成
     */
    @JsonProperty("code")
    private String code;
    /**
     * 产品图片
     */
    @JsonProperty("images")
    private String images;
    /**
     * 提交时间
     */
    @JsonProperty("submit_date")
    private LocalDateTime submitDate;
}
